/*
Configs.hpp
----------

Par Bréhaut Vincent le 13/05/2011

Rôle: Regrouper les différents moteurs du jeu(graphique, evenementiel etc...)
*/

#ifndef DEF_CONFIGS
#define DEF_CONFIGS

#include <iostream>
#include <tinyxml.h>
#include <vector>

struct gui_config
{
    int hauteur_titre; // Hauteur de la barre de titre des fenêtres
    int padding;
    int base_width;
    int base_height;
    sf::Font font_titre;
    int titre_size;
    sf::Font font_contenu;
    int contenu_size;
    sf::Color color_titre;
    sf::Color color_contenu;
};

struct game_config
{
    int screen_width;
    int screen_height;
    int screen_colors;
    int frame_rate;
    int resizable;
    int closing;
};

class Configs
{
    public:
        Configs(); // Constructeur de la classe

        void Configuration(); // Configure tout, le jeu, la gui etc... en appelant toutes les fonctions de configuration
        void ConfigGUI(); // Configure la GUI
        void ConfigGame(); // Configure la GUI

        gui_config* GetGUI(); // Renvois les configuration de la GUI
        game_config* GetGame(); // Renvois les configuration de la GUI

    protected:
        gui_config m_gui_config;
        game_config m_game_config;
};

#endif

